Autogenerated HTML docs for v2.27.0-83-g0313f 
diff --git a/RelNotes/2.28.0.txt b/RelNotes/2.28.0.txt index c386fc7..b1a23e9 100644 --- a/RelNotes/2.28.0.txt +++ b/RelNotes/2.28.0.txt 
@@ -16,6 +16,8 @@  * The commands in the "diff" family learned to honor "diff.relative"  configuration variable.   + * The check in "git fsck" to ensure that the tree objects are sorted + still had corner cases it missed unsorted entries.      Performance, Internal Implementation, Development Support etc. @@ -30,6 +32,17 @@  time. Start using -Wno-universal-initializer option to squelch  it (the latest sparse has it on by default).   + * "git log -L..." now takes advantage of the "which paths are touched + by this commit?" info stored in the commit-graph system. + + * As FreeBSD is not the only platform whose regexp library reports + a REG_ILLSEQ error when fed invalid UTF-8, add logic to detect that + automatically and skip the affected tests. + + * "git bugreport" learns to report what shell is in use. + + * Support for GIT_CURL_VERBOSE has been rewritten in terms of + GIT_TRACE_CURL.      Fixes since v2.27 @@ -47,6 +60,24 @@  existing repositories as-is.  (merge d42a2fb72f en/fast-import-looser-date later to maint).   + * The command line completion script (in contrib/) tried to complete + "git stash -p" as if it were "git stash push -p", but it was too + aggressive and also affected "git stash show -p", which has been + corrected. + (merge fffd0cf520 vs/complete-stash-show-p-fix later to maint). + + * On-the-wire protocol v2 easily falls into a deadlock between the + remote-curl helper and the fetch-pack process when the server side + prematurely throws an error and disconnects. The communication has + been updated to make it more robust. + + * "git checkout -p" did not handle a newly added path at all. + (merge 2c8bd8471a js/checkout-p-new-file later to maint). + + * The code to parse "git bisect start" command line was lax in + validating the arguments. + (merge 4d9005ff5d cb/bisect-helper-parser-fix later to maint). +  * Other code cleanup, docfix, build fix, etc.  (merge 2c31a7aa44 jx/pkt-line-doc-count-fix later to maint).  (merge d63ae31962 cb/t5608-cleanup later to maint). 
diff --git a/git-bugreport.html b/git-bugreport.html index 36daf22..b4120cf 100644 --- a/git-bugreport.html +++ b/git-bugreport.html 
@@ -801,6 +801,11 @@  A list of enabled hooks   </p>   </li>  +<li>  +<p>  +$SHELL  +</p>  +</li>   </ul></div>   <div class="paragraph"><p>This tool is invoked via the typical Git setup process, which means that in some   cases, it might not be able to launch - for example, if a relevant config file  @@ -851,7 +856,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2020-05-20 11:34:37 PDT  + 2020-06-08 18:30:54 PDT   </div>   </div>   </body>  
diff --git a/git-bugreport.txt b/git-bugreport.txt index 9edad66..66e88c2 100644 --- a/git-bugreport.txt +++ b/git-bugreport.txt 
@@ -29,6 +29,7 @@  - uname sysname, release, version, and machine strings  - Compiler-specific info string  - A list of enabled hooks + - $SHELL    This tool is invoked via the typical Git setup process, which means that in some  cases, it might not be able to launch - for example, if a relevant config file 
diff --git a/git-commit-graph.html b/git-commit-graph.html index 23cfa94..7be2b3a 100644 --- a/git-commit-graph.html +++ b/git-commit-graph.html 
@@ -808,8 +808,10 @@  with <code>--stdin-commits</code> or <code>--reachable</code>.)</p></div>   <div class="paragraph"><p>With the <code>--stdin-commits</code> option, generate the new commit graph by   walking commits starting at the commits specified in stdin as a list  -of OIDs in hex, one OID per line. (Cannot be combined with  -<code>--stdin-packs</code> or <code>--reachable</code>.)</p></div>  +of OIDs in hex, one OID per line. OIDs that resolve to non-commits  +(either directly, or by peeling tags) are silently ignored. OIDs that  +are malformed, or do not exist generate an error. (Cannot be combined  +with <code>--stdin-packs</code> or <code>--reachable</code>.)</p></div>   <div class="paragraph"><p>With the <code>--reachable</code> option, generate the new commit graph by walking   commits starting at all refs. (Cannot be combined with <code>--stdin-commits</code>   or <code>--stdin-packs</code>.)</p></div>  @@ -927,7 +929,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2020-05-26 11:29:03 PDT  + 2020-06-08 18:30:54 PDT   </div>   </div>   </body>  
diff --git a/git-commit-graph.txt b/git-commit-graph.txt index a3d9967..8ca1764 100644 --- a/git-commit-graph.txt +++ b/git-commit-graph.txt 
@@ -47,8 +47,10 @@  +  With the `--stdin-commits` option, generate the new commit graph by  walking commits starting at the commits specified in stdin as a list -of OIDs in hex, one OID per line. (Cannot be combined with -`--stdin-packs` or `--reachable`.) +of OIDs in hex, one OID per line. OIDs that resolve to non-commits +(either directly, or by peeling tags) are silently ignored. OIDs that +are malformed, or do not exist generate an error. (Cannot be combined +with `--stdin-packs` or `--reachable`.)  +  With the `--reachable` option, generate the new commit graph by walking  commits starting at all refs. (Cannot be combined with `--stdin-commits` 
diff --git a/git.html b/git.html index 2e3d9e2..07595d4 100644 --- a/git.html +++ b/git.html 
@@ -3029,8 +3029,6 @@  Enables a curl full trace dump of all incoming and outgoing data,   including descriptive information, of the git transport protocol.   This is similar to doing curl <code>--trace-ascii</code> on the command line.  - This option overrides setting the <code>GIT_CURL_VERBOSE</code> environment  - variable.   See <code>GIT_TRACE</code> for available trace output options.   </p>   </dd>  @@ -3385,7 +3383,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2020-05-31 13:02:02 PDT  + 2020-06-08 18:30:54 PDT   </div>   </div>   </body>  
diff --git a/git.txt b/git.txt index 1289084..40bd32f 100644 --- a/git.txt +++ b/git.txt 
@@ -721,8 +721,6 @@ 	Enables a curl full trace dump of all incoming and outgoing data, 	including descriptive information, of the git transport protocol. 	This is similar to doing curl `--trace-ascii` on the command line. -	This option overrides setting the `GIT_CURL_VERBOSE` environment -	variable. 	See `GIT_TRACE` for available trace output options.    `GIT_TRACE_CURL_NO_DATA`:: 
diff --git a/gitremote-helpers.html b/gitremote-helpers.html index 9f5686a..f6ce01e 100644 --- a/gitremote-helpers.html +++ b/gitremote-helpers.html 
@@ -1247,7 +1247,9 @@  trying to fall back). After line feed terminating the positive   (empty) response, the output of the service starts. Messages   (both request and response) must consist of zero or more  - PKT-LINEs, terminating in a flush packet. The client must not  + PKT-LINEs, terminating in a flush packet. Response messages will  + then have a response end packet after the flush packet to  + indicate the end of a response. The client must not   expect the server to store any state in between request-response   pairs. After the connection ends, the remote helper exits.   </p>  @@ -1474,7 +1476,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2020-03-10 08:03:13 PDT  + 2020-06-08 18:30:54 PDT   </div>   </div>   </body>  
diff --git a/gitremote-helpers.txt b/gitremote-helpers.txt index f48a031..93baeeb 100644 --- a/gitremote-helpers.txt +++ b/gitremote-helpers.txt 
@@ -405,7 +405,9 @@ 	trying to fall back). After line feed terminating the positive 	(empty) response, the output of the service starts. Messages 	(both request and response) must consist of zero or more -	PKT-LINEs, terminating in a flush packet. The client must not +	PKT-LINEs, terminating in a flush packet. Response messages will +	then have a response end packet after the flush packet to +	indicate the end of a response. The client must not 	expect the server to store any state in between request-response 	pairs. After the connection ends, the remote helper exits.  + 
diff --git a/howto/keep-canonical-history-correct.html b/howto/keep-canonical-history-correct.html index 37d8309..dbe7be2 100644 --- a/howto/keep-canonical-history-correct.html +++ b/howto/keep-canonical-history-correct.html 
@@ -938,7 +938,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2020-06-02 14:48:45 PDT  + 2020-06-08 18:32:13 PDT   </div>   </div>   </body>  
diff --git a/howto/maintain-git.html b/howto/maintain-git.html index 681e346..d43e057 100644 --- a/howto/maintain-git.html +++ b/howto/maintain-git.html 
@@ -1469,7 +1469,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2020-06-02 14:48:45 PDT  + 2020-06-08 18:32:13 PDT   </div>   </div>   </body>  
diff --git a/howto/new-command.html b/howto/new-command.html index bb076cc..3dc9c4b 100644 --- a/howto/new-command.html +++ b/howto/new-command.html 
@@ -863,7 +863,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2020-06-02 14:48:39 PDT  + 2020-06-08 18:32:08 PDT   </div>   </div>   </body>  
diff --git a/howto/rebase-from-internal-branch.html b/howto/rebase-from-internal-branch.html index 1ea6eff..c781d6e 100644 --- a/howto/rebase-from-internal-branch.html +++ b/howto/rebase-from-internal-branch.html 
@@ -895,7 +895,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2020-06-02 14:48:45 PDT  + 2020-06-08 18:32:12 PDT   </div>   </div>   </body>  
diff --git a/howto/rebuild-from-update-hook.html b/howto/rebuild-from-update-hook.html index 5d9203c..7d06f36 100644 --- a/howto/rebuild-from-update-hook.html +++ b/howto/rebuild-from-update-hook.html 
@@ -847,7 +847,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2020-06-02 14:48:45 PDT  + 2020-06-08 18:32:12 PDT   </div>   </div>   </body>  
diff --git a/howto/recover-corrupted-blob-object.html b/howto/recover-corrupted-blob-object.html index dae8ccd..f6ec462 100644 --- a/howto/recover-corrupted-blob-object.html +++ b/howto/recover-corrupted-blob-object.html 
@@ -880,7 +880,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2020-06-02 14:48:44 PDT  + 2020-06-08 18:32:11 PDT   </div>   </div>   </body>  
diff --git a/howto/recover-corrupted-object-harder.html b/howto/recover-corrupted-object-harder.html index 171ff8f..9b5fd55 100644 --- a/howto/recover-corrupted-object-harder.html +++ b/howto/recover-corrupted-object-harder.html 
@@ -1189,7 +1189,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2020-06-02 14:48:44 PDT  + 2020-06-08 18:32:12 PDT   </div>   </div>   </body>  
diff --git a/howto/revert-a-faulty-merge.html b/howto/revert-a-faulty-merge.html index 70873a5..25f9a62 100644 --- a/howto/revert-a-faulty-merge.html +++ b/howto/revert-a-faulty-merge.html 
@@ -1025,7 +1025,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2020-06-02 14:48:43 PDT  + 2020-06-08 18:32:11 PDT   </div>   </div>   </body>  
diff --git a/howto/revert-branch-rebase.html b/howto/revert-branch-rebase.html index 3746dfd..17a2b00 100644 --- a/howto/revert-branch-rebase.html +++ b/howto/revert-branch-rebase.html 
@@ -907,7 +907,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2020-06-02 14:48:39 PDT  + 2020-06-08 18:32:09 PDT   </div>   </div>   </body>  
diff --git a/howto/separating-topic-branches.html b/howto/separating-topic-branches.html index 244b86f..79c43e7 100644 --- a/howto/separating-topic-branches.html +++ b/howto/separating-topic-branches.html 
@@ -841,7 +841,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2020-06-02 14:48:42 PDT  + 2020-06-08 18:32:11 PDT   </div>   </div>   </body>  
diff --git a/howto/setup-git-server-over-http.html b/howto/setup-git-server-over-http.html index 7a5741a..87c8a5c 100644 --- a/howto/setup-git-server-over-http.html +++ b/howto/setup-git-server-over-http.html 
@@ -1071,7 +1071,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2020-06-02 14:48:42 PDT  + 2020-06-08 18:32:10 PDT   </div>   </div>   </body>  
diff --git a/howto/update-hook-example.html b/howto/update-hook-example.html index 27d4597..45ffd76 100644 --- a/howto/update-hook-example.html +++ b/howto/update-hook-example.html 
@@ -930,7 +930,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2020-06-02 14:48:41 PDT  + 2020-06-08 18:32:10 PDT   </div>   </div>   </body>  
diff --git a/howto/use-git-daemon.html b/howto/use-git-daemon.html index cf33788..972f202 100644 --- a/howto/use-git-daemon.html +++ b/howto/use-git-daemon.html 
@@ -791,7 +791,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2020-06-02 14:48:41 PDT  + 2020-06-08 18:32:10 PDT   </div>   </div>   </body>  
diff --git a/howto/using-merge-subtree.html b/howto/using-merge-subtree.html index 47827e1..d4e7e96 100644 --- a/howto/using-merge-subtree.html +++ b/howto/using-merge-subtree.html 
@@ -848,7 +848,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2020-06-02 14:48:40 PDT  + 2020-06-08 18:32:09 PDT   </div>   </div>   </body>  
diff --git a/howto/using-signed-tag-in-pull-request.html b/howto/using-signed-tag-in-pull-request.html index 4f0c79f..222d0f2 100644 --- a/howto/using-signed-tag-in-pull-request.html +++ b/howto/using-signed-tag-in-pull-request.html 
@@ -952,7 +952,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2020-06-02 14:48:40 PDT  + 2020-06-08 18:32:09 PDT   </div>   </div>   </body>  
diff --git a/technical/protocol-v2.html b/technical/protocol-v2.html index b18e5f7..4bcfb6a 100644 --- a/technical/protocol-v2.html +++ b/technical/protocol-v2.html 
@@ -803,6 +803,12 @@  <em>0001</em> Delimiter Packet (delim-pkt) - separates sections of a message   </p>   </li>  +<li>  +<p>  +<em>0002</em> Message Packet (response-end-pkt) - indicates the end of a response  + for stateless connections  +</p>  +</li>   </ul></div>   </div>   </div>  @@ -1338,7 +1344,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2020-03-10 08:03:13 PDT  + 2020-06-08 18:30:54 PDT   </div>   </div>   </body>  
diff --git a/technical/protocol-v2.txt b/technical/protocol-v2.txt index 7e3766c..3996d70 100644 --- a/technical/protocol-v2.txt +++ b/technical/protocol-v2.txt 
@@ -33,6 +33,8 @@    * '0000' Flush Packet (flush-pkt) - indicates the end of a message  * '0001' Delimiter Packet (delim-pkt) - separates sections of a message + * '0002' Message Packet (response-end-pkt) - indicates the end of a response + for stateless connections    Initial Client Request  ----------------------